package itbour.onetouchshow.bean;

import java.util.List;

/**
 * Created by Administrator on 2018/3/29.
 */

public class V1_4DocPreviewBean {


    /**
     * docInfo : {"watermarkPay":0,"bgId":2,"showFormFb":0,"formState":0,"designId":124,"createDay":"2018-03-29","docId":39,"opType":2,"generateStatus":3,"estimatedDuration":5,"docNm":"我的作品","id":39,"designVip":0,"watermarkPts":100,"res_low":78968,"watermarkFee":1,"watermark":1,"watermarkPayType":3,"comb_res_low":0}
     * previewInfo : {"video":{"videoUrl":"http://itbour-generate.itbour.com/video/U20/2018/03/29/190048350_mzcC2UswghSxF74D6B0c/0.mp4","videoSize":651131,"duration":10,"h":1080,"thumbs":["http://itbour-generate.itbour.com/video/U20/2018/03/29/190048350_mzcC2UswghSxF74D6B0c/thumb.jpg"],"w":1920},"currentBg":{"videoFrame":{"an":0,"y":449.856,"x":54.178,"ct":2,"h":342.446,"w":608.792},"h":1280,"thumbs":["http://itbour-generate.oss-cn-hangzhou.aliyuncs.com/image/U20/2018/03/30/101743217_ll2WGctfdHTOKeFjjAqO/0.jpg"],"w":720}}
     */

    private String id;
    private boolean needRefresh;
    private DocInfoBean docInfo;
    private PreviewInfoBean previewInfo;
    private ProgressInfoBean progressInfo;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public boolean isNeedRefresh() {
        return needRefresh;
    }

    public void setNeedRefresh(boolean needRefresh) {
        this.needRefresh = needRefresh;
    }

    public ProgressInfoBean getProgressInfo() {
        return progressInfo;
    }

    public void setProgressInfo(ProgressInfoBean progressInfo) {
        this.progressInfo = progressInfo;
    }

    public DocInfoBean getDocInfo() {
        return docInfo;
    }

    public void setDocInfo(DocInfoBean docInfo) {
        this.docInfo = docInfo;
    }

    public PreviewInfoBean getPreviewInfo() {
        return previewInfo;
    }

    public void setPreviewInfo(PreviewInfoBean previewInfo) {
        this.previewInfo = previewInfo;
    }

    public static class ProgressInfoBean {
        /**
         * currentDuration : 0
         * estimatedDuration : 5
         * nextInterval : 2.5
         * progress : 0
         */

        private double currentDuration;
        private double estimatedDuration;
        private double nextInterval;
        private int progress;
        private double estimatedProgress;
        private double nextEstimated;

        public double getNextEstimated() {
            return nextEstimated;
        }

        public void setNextEstimated(double nextEstimated) {
            this.nextEstimated = nextEstimated;
        }

        public double getEstimatedProgress() {
            return estimatedProgress;
        }

        public void setEstimatedProgress(double estimatedProgress) {
            this.estimatedProgress = estimatedProgress;
        }

        public double getCurrentDuration() {
            return currentDuration;
        }

        public void setCurrentDuration(double currentDuration) {
            this.currentDuration = currentDuration;
        }

        public double getEstimatedDuration() {
            return estimatedDuration;
        }

        public void setEstimatedDuration(double estimatedDuration) {
            this.estimatedDuration = estimatedDuration;
        }

        public double getNextInterval() {
            return nextInterval;
        }

        public void setNextInterval(double nextInterval) {
            this.nextInterval = nextInterval;
        }

        public int getProgress() {
            return progress;
        }

        public void setProgress(int progress) {
            this.progress = progress;
        }
    }

    public static class DocInfoBean {
        /**
         * watermarkPay : 0
         * bgId : 2
         * showFormFb : 0
         * formState : 0
         * designId : 124
         * createDay : 2018-03-29
         * docId : 39
         * opType : 2
         * generateStatus : 3
         * estimatedDuration : 5
         * docNm : 我的作品
         * id : 39
         * designVip : 0
         * watermarkPts : 100
         * res_low : 78968
         * watermarkFee : 1
         * watermark : 1
         * watermarkPayType : 3
         * comb_res_low : 0
         */

        private int watermarkPay;
        private int bgId;
        private int showFormFb;
        private int formState;
        private int designId;
        private String createDay;
        private int docId;
        private int opType;
        private int generateStatus;
        private double estimatedDuration;
        private String docNm;
        private int id;
        private int designVip;
        private int watermarkPts;
        private int res_low;
        private int watermarkFee;
        private int watermark;
        private int watermarkPayType;
        private int comb_res_low;

        public int getWatermarkPay() {
            return watermarkPay;
        }

        public void setWatermarkPay(int watermarkPay) {
            this.watermarkPay = watermarkPay;
        }

        public int getBgId() {
            return bgId;
        }

        public void setBgId(int bgId) {
            this.bgId = bgId;
        }

        public int getShowFormFb() {
            return showFormFb;
        }

        public void setShowFormFb(int showFormFb) {
            this.showFormFb = showFormFb;
        }

        public int getFormState() {
            return formState;
        }

        public void setFormState(int formState) {
            this.formState = formState;
        }

        public int getDesignId() {
            return designId;
        }

        public void setDesignId(int designId) {
            this.designId = designId;
        }

        public String getCreateDay() {
            return createDay;
        }

        public void setCreateDay(String createDay) {
            this.createDay = createDay;
        }

        public int getDocId() {
            return docId;
        }

        public void setDocId(int docId) {
            this.docId = docId;
        }

        public int getOpType() {
            return opType;
        }

        public void setOpType(int opType) {
            this.opType = opType;
        }

        public int getGenerateStatus() {
            return generateStatus;
        }

        public void setGenerateStatus(int generateStatus) {
            this.generateStatus = generateStatus;
        }

        public double getEstimatedDuration() {
            return estimatedDuration;
        }

        public void setEstimatedDuration(double estimatedDuration) {
            this.estimatedDuration = estimatedDuration;
        }

        public String getDocNm() {
            return docNm;
        }

        public void setDocNm(String docNm) {
            this.docNm = docNm;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public int getDesignVip() {
            return designVip;
        }

        public void setDesignVip(int designVip) {
            this.designVip = designVip;
        }

        public int getWatermarkPts() {
            return watermarkPts;
        }

        public void setWatermarkPts(int watermarkPts) {
            this.watermarkPts = watermarkPts;
        }

        public int getRes_low() {
            return res_low;
        }

        public void setRes_low(int res_low) {
            this.res_low = res_low;
        }

        public int getWatermarkFee() {
            return watermarkFee;
        }

        public void setWatermarkFee(int watermarkFee) {
            this.watermarkFee = watermarkFee;
        }

        public int getWatermark() {
            return watermark;
        }

        public void setWatermark(int watermark) {
            this.watermark = watermark;
        }

        public int getWatermarkPayType() {
            return watermarkPayType;
        }

        public void setWatermarkPayType(int watermarkPayType) {
            this.watermarkPayType = watermarkPayType;
        }

        public int getComb_res_low() {
            return comb_res_low;
        }

        public void setComb_res_low(int comb_res_low) {
            this.comb_res_low = comb_res_low;
        }
    }

    public static class PreviewInfoBean {
        /**
         * video : {"videoUrl":"http://itbour-generate.itbour.com/video/U20/2018/03/29/190048350_mzcC2UswghSxF74D6B0c/0.mp4","videoSize":651131,"duration":10,"h":1080,"thumbs":["http://itbour-generate.itbour.com/video/U20/2018/03/29/190048350_mzcC2UswghSxF74D6B0c/thumb.jpg"],"w":1920}
         * currentBg : {"videoFrame":{"an":0,"y":449.856,"x":54.178,"ct":2,"h":342.446,"w":608.792},"h":1280,"thumbs":["http://itbour-generate.oss-cn-hangzhou.aliyuncs.com/image/U20/2018/03/30/101743217_ll2WGctfdHTOKeFjjAqO/0.jpg"],"w":720}
         */

        private VideoBean video;
        private CurrentBgBean currentBg;

        public VideoBean getVideo() {
            return video;
        }

        public void setVideo(VideoBean video) {
            this.video = video;
        }

        public CurrentBgBean getCurrentBg() {
            return currentBg;
        }

        public void setCurrentBg(CurrentBgBean currentBg) {
            this.currentBg = currentBg;
        }

        public static class VideoBean {
            /**
             * videoUrl : http://itbour-generate.itbour.com/video/U20/2018/03/29/190048350_mzcC2UswghSxF74D6B0c/0.mp4
             * videoSize : 651131
             * duration : 10
             * h : 1080
             * thumbs : ["http://itbour-generate.itbour.com/video/U20/2018/03/29/190048350_mzcC2UswghSxF74D6B0c/thumb.jpg"]
             * w : 1920
             */

            private String videoUrl;
            private double videoSize;
            private double duration;
            private double h;
            private double w;
            private List<String> thumbs;
            private CoverInfo coverInfo;

            public CoverInfo getCoverInfo() {
                return coverInfo;
            }

            public void setCoverInfo(CoverInfo coverInfo) {
                this.coverInfo = coverInfo;
            }

            public String getVideoUrl() {
                return videoUrl;
            }

            public void setVideoUrl(String videoUrl) {
                this.videoUrl = videoUrl;
            }

            public double getVideoSize() {
                return videoSize;
            }

            public void setVideoSize(int videoSize) {
                this.videoSize = videoSize;
            }

            public double getDuration() {
                return duration;
            }

            public void setDuration(double duration) {
                this.duration = duration;
            }

            public double getH() {
                return h;
            }

            public void setH(double h) {
                this.h = h;
            }

            public double getW() {
                return w;
            }

            public void setW(double w) {
                this.w = w;
            }

            public List<String> getThumbs() {
                return thumbs;
            }

            public void setThumbs(List<String> thumbs) {
                this.thumbs = thumbs;
            }

            public static class CoverInfo {
                // 视频封面图, 若为空或不存在此字段则标记无封面
//                "cover" : "http://itbour-generate.oss-cn-hangzhou.aliyuncs.com/image/U30330/2016/11/06/091954617_IqjCfwBAzWz7I683nMRf/0.jpg",
//                        "coverDuration" : 0.2,  // 视频封面时长, 单位: 秒, 浮点型
//                        "coverTime" : 1.500,    // 封面所在视频中的时刻(不包含封面时长), 单位: 秒, 浮点型


                private String cover;
                private double coverDuration;
                private double coverTime;

                public String getCover() {
                    return cover;
                }

                public void setCover(String cover) {
                    this.cover = cover;
                }

                public double getCoverDuration() {
                    return coverDuration;
                }

                public void setCoverDuration(double coverDuration) {
                    this.coverDuration = coverDuration;
                }

                public double getCoverTime() {
                    return coverTime;
                }

                public void setCoverTime(double coverTime) {
                    this.coverTime = coverTime;
                }
            }
        }

        public static class CurrentBgBean {
            /**
             * videoFrame : {"an":0,"y":449.856,"x":54.178,"ct":2,"h":342.446,"w":608.792}
             * h : 1280
             * thumbs : ["http://itbour-generate.oss-cn-hangzhou.aliyuncs.com/image/U20/2018/03/30/101743217_ll2WGctfdHTOKeFjjAqO/0.jpg"]
             * w : 720
             */

            private VideoFrameBean videoFrame;
            private double h;
            private double w;
            private List<String> thumbs;

            public VideoFrameBean getVideoFrame() {
                return videoFrame;
            }

            public void setVideoFrame(VideoFrameBean videoFrame) {
                this.videoFrame = videoFrame;
            }

            public double getH() {
                return h;
            }

            public void setH(int h) {
                this.h = h;
            }

            public double getW() {
                return w;
            }

            public void setW(int w) {
                this.w = w;
            }

            public List<String> getThumbs() {
                return thumbs;
            }

            public void setThumbs(List<String> thumbs) {
                this.thumbs = thumbs;
            }

            public static class VideoFrameBean {
                /**
                 * an : 0
                 * y : 449.856
                 * x : 54.178
                 * ct : 2
                 * h : 342.446
                 * w : 608.792
                 */

                private int an;
                private double y;
                private double x;
                private int ct;
                private double h;
                private double w;

                public int getAn() {
                    return an;
                }

                public void setAn(int an) {
                    this.an = an;
                }

                public double getY() {
                    return y;
                }

                public void setY(double y) {
                    this.y = y;
                }

                public double getX() {
                    return x;
                }

                public void setX(double x) {
                    this.x = x;
                }

                public int getCt() {
                    return ct;
                }

                public void setCt(int ct) {
                    this.ct = ct;
                }

                public double getH() {
                    return h;
                }

                public void setH(double h) {
                    this.h = h;
                }

                public double getW() {
                    return w;
                }

                public void setW(double w) {
                    this.w = w;
                }
            }
        }
    }
}
